package com.ffdms.mobileoffice;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.ffdms.util.MobileOfficeUtil;
import com.ffdms.vo.Notice;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class NoticeListActivity extends Activity {
	private TextView tv_title;
	private Button btn_return;
	private Button btn_popup;
	private PopupWindow popupWindow;
	private ListView lv_group;
	private View view;
	private List<String> groups;
	private ListView listView1;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);

		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.activity_notice_list);

		tv_title = (TextView) findViewById(R.id.tv_title);
		tv_title.setText("系统公告");

		btn_return = (Button) findViewById(R.id.btn_return);
		btn_return.setVisibility(View.VISIBLE);
		btn_return.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				finish();
			}
		});

		btn_popup = (Button) findViewById(R.id.btn_popup);
		btn_popup.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				showWindow(v);
			}
		});

		listView1 = (ListView) findViewById(R.id.listView1);
		populteRecentNotices();
	}

	private void populteRecentNotices() {
		final List<Notice> notices = new ArrayList<Notice>();
		Notice n = new Notice();
		n.setDescription("本报讯 （记者徐海星、张涨 通讯员郑仁鹏、黄少江、陈建族）同饮珠江水，保护母亲河。昨天下午2时，2013年广州横渡珠江活动在中大码头举行。来自广州、佛山、肇庆、清远、东莞、中山等6市的2000名横渡健儿组成了40个方队依次下水，在热烈的加油欢呼声中游抵位于二沙岛星海音乐厅附近的登陆点。广州市委书记万庆良、市长陈建华，市领导陈国、王世彤、欧阳卫民、平欣光，市政府秘书长周亚伟;佛山市市长刘悦伦，市领导林征、赖紫宁，以及肇庆、清远、东莞、中山等市有关游泳协会负责人分别率领各市方队成功横渡。");
		n.setTitle("广州横渡珠江活动举行");
		n.setiD(1);
		n.setEnterpriseID(1);
		n.setTime(MobileOfficeUtil.formatDate("yyyy-MM-dd HH:mm:ss", new Date()));
		n.setModifyTime(MobileOfficeUtil.formatDate("yyyy-MM-dd HH:mm:ss", new Date()));
		notices.add(n);

		Notice n1 = new Notice();
		n1.setDescription("本报讯 （记者徐海星、张涨 通讯员郑仁鹏、黄少江、陈建族）同饮珠江水，保护母亲河。昨天下午2时，2013年广州横渡珠江活动在中大码头举行。来自广州、佛山、肇庆、清远、东莞、中山等6市的2000名横渡健儿组成了40个方队依次下水，在热烈的加油欢呼声中游抵位于二沙岛星海音乐厅附近的登陆点。广州市委书记万庆良、市长陈建华，市领导陈国、王世彤、欧阳卫民、平欣光，市政府秘书长周亚伟;佛山市市长刘悦伦，市领导林征、赖紫宁，以及肇庆、清远、东莞、中山等市有关游泳协会负责人分别率领各市方队成功横渡。");
		n1.setTitle("丁薛祥兼任中共中央总");
		n1.setiD(1);
		n1.setEnterpriseID(1);
		n1.setTime(MobileOfficeUtil.formatDate("yyyy-MM-dd HH:mm:ss", new Date()));
		n1.setModifyTime(MobileOfficeUtil.formatDate("yyyy-MM-dd HH:mm:ss", new Date()));
		notices.add(n1);

		Notice n2 = new Notice();
		n2.setDescription("本报讯 （记者徐海星、张涨 通讯员郑仁鹏、黄少江、陈建族）同饮珠江水，保护母亲河。昨天下午2时，2013年广州横渡珠江活动在中大码头举行。来自广州、佛山、肇庆、清远、东莞、中山等6市的2000名横渡健儿组成了40个方队依次下水，在热烈的加油欢呼声中游抵位于二沙岛星海音乐厅附近的登陆点。广州市委书记万庆良、市长陈建华，市领导陈国、王世彤、欧阳卫民、平欣光，市政府秘书长周亚伟;佛山市市长刘悦伦，市领导林征、赖紫宁，以及肇庆、清远、东莞、中山等市有关游泳协会负责人分别率领各市方队成功横渡。");
		n2.setTitle("方舟子斥勾搭官商");
		n2.setiD(1);
		n2.setEnterpriseID(1);
		n2.setTime(MobileOfficeUtil.formatDate("yyyy-MM-dd HH:mm:ss", new Date()));
		n2.setModifyTime(MobileOfficeUtil.formatDate("yyyy-MM-dd HH:mm:ss", new Date()));
		notices.add(n2);

		Notice n3 = new Notice();
		n3.setDescription("本报讯 （记者徐海星、张涨 通讯员郑仁鹏、黄少江、陈建族）同饮珠江水，保护母亲河。昨天下午2时，2013年广州横渡珠江活动在中大码头举行。来自广州、佛山、肇庆、清远、东莞、中山等6市的2000名横渡健儿组成了40个方队依次下水，在热烈的加油欢呼声中游抵位于二沙岛星海音乐厅附近的登陆点。广州市委书记万庆良、市长陈建华，市领导陈国、王世彤、欧阳卫民、平欣光，市政府秘书长周亚伟;佛山市市长刘悦伦，市领导林征、赖紫宁，以及肇庆、清远、东莞、中山等市有关游泳协会负责人分别率领各市方队成功横渡。");
		n3.setTitle("广州横渡珠江活动举行");
		n3.setiD(1);
		n3.setEnterpriseID(1);
		n3.setTime(MobileOfficeUtil.formatDate("yyyy-MM-dd HH:mm:ss", new Date()));
		n3.setModifyTime(MobileOfficeUtil.formatDate("yyyy-MM-dd HH:mm:ss", new Date()));
		notices.add(n3);

		NoticeListAdapter adp = new NoticeListAdapter(this, notices);
		listView1.setAdapter(adp);
		listView1.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
					long arg3) {
				// TODO Auto-generated method stub
				Notice n = notices.get(arg2);
				Intent t = new Intent(NoticeListActivity.this,
						NoticeActivity.class);
				t.putExtra("title", n.getTitle());
				t.putExtra("time", n.getTime());
				t.putExtra("content", n.getDescription());
				startActivity(t);
			}
		});
	}

	private void showWindow(View parent) {

		if (popupWindow == null) {
			LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

			view = layoutInflater.inflate(R.layout.group_list, null);

			lv_group = (ListView) view.findViewById(R.id.lvGroup);
			groups = new ArrayList<String>();
			groups.add("删除公告");

			GroupAdapter groupAdapter = new GroupAdapter(this, groups);
			lv_group.setAdapter(groupAdapter);
			popupWindow = new PopupWindow(view, 200, 250);
		}

		popupWindow.setFocusable(true);
		popupWindow.setOutsideTouchable(true);

		popupWindow.setBackgroundDrawable(new BitmapDrawable());
		WindowManager windowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
		int xPos = windowManager.getDefaultDisplay().getWidth() / 2
				- popupWindow.getWidth() / 2;

		Log.i("coder", "windowManager.getDefaultDisplay().getWidth()/2:"
				+ windowManager.getDefaultDisplay().getWidth() / 2);
		//
		Log.i("coder", "popupWindow.getWidth()/2:" + popupWindow.getWidth() / 2);

		Log.i("coder", "xPos:" + xPos);

		popupWindow.showAsDropDown(parent, xPos, 0);

		lv_group.setOnItemClickListener(new OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> adapterView, View view,
					int position, long id) {

				Toast.makeText(NoticeListActivity.this,
						"groups.get(position)" + groups.get(position), 1000)
						.show();

				if (popupWindow != null) {
					popupWindow.dismiss();
				}
			}
		});
	}

}
